<?php

namespace Extend\Network;

class Curl
{

    /**
     * GET请求接口-抓取网页信息并返回
     * @param  [string] $url [请求url]
     * @return [string]      [接口输出内容]
     */
    public static function get($url,$data){

        if(is_array($data)){
            $requestParam = http_build_query($data);
            $connectSymbol = stripos($url, "?") !== FALSE ? "&" : "?";
            $url .= $connectSymbol.$requestParam;
        }

        $ch = curl_init();  //初始化
        curl_setopt($ch,CURLOPT_URL,$url);   //设置访问网页的url
        curl_setopt($ch,CURLOPT_HEADER,0);   //不输出header
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);      //执行之后不直接打印出来
        curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE); // 对认证证书来源的检查
        curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, FALSE); // 从证书中检查SSL加密算法是否存在
        $res = curl_exec($ch);     //执行

        //显示错误
        if(curl_errno($ch)){
            return 'Curl error:'.curl_error($ch);
        }

        curl_close($ch);    //关闭curl
        return $res;

    }

    /**
     * POST请求接口
     * @param  [string] $url  [请求url]
     * @param  [string] $data [参数，形式：name=Blue&age=18]
     * @return [string]       [接口输出内容]
     */
    public static function post($url,$data){

        $ch = curl_init();  //初始化
        curl_setopt($ch,CURLOPT_URL,$url);    //设置访问网页的url
        curl_setopt($ch,CURLOPT_HEADER,0);         //不输出header
        curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE); // 对认证证书来源的检查
        curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, FALSE); // 从证书中检查SSL加密算法是否存在
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);      //执行之后不直接打印出来

        curl_setopt($ch,CURLOPT_POST,1);   //POST方式
        curl_setopt($ch,CURLOPT_POSTFIELDS,$data);  //传递参数
        curl_setopt($ch,CURLOPT_HTTPHEADER,["application/x-www-form-urlencode;charset=utf-8"]);      //
        $res = curl_exec($ch); //执行

        //显示错误
        if(curl_errno($ch)){
            return 'Curl error:'.curl_error($ch);
        }

        curl_close($ch);    //关闭
        return $res;

    }

}